package com.redepronik.negosyscom.invfac.report;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.faces.event.ActionEvent;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import com.redepronik.negosys.rrhh.entity.Ciudad;
import com.redepronik.negosys.rrhh.entity.Cliente;
import com.redepronik.negosys.rrhh.service.CiudadService;
import com.redepronik.negosys.rrhh.service.ClienteService;
import com.redepronik.negosys.utils.service.ReporteService;

@Controller
public class DirectorioReport {

	@Autowired
	private ReporteService reporteService;

	@Autowired
	private ClienteService clienteService;

	@Autowired
	private CiudadService ciudadService;

	private List<Ciudad> listaCiudades;
	private int ciudadId;

	public DirectorioReport() {
	}

	public int getCiudadId() {
		return ciudadId;
	}

	public List<Ciudad> getListaCiudades() {
		return listaCiudades;
	}

	@PostConstruct
	public void init() {
		listaCiudades = ciudadService.obtener(null);
	}

	public void reporteCliente(ActionEvent actionEvent) {
		List<Cliente> list = clienteService.obtenerPorCiudad(ciudadId);
		Map<String, Object> parametro = new HashMap<String, Object>();
		parametro.put("ciudad", ciudadService.obtenerPorCiudadId(ciudadId)
				.getNombre());
		reporteService.generarReportePDF(list, parametro, "Cliente");
	}

	public void setCiudadId(int ciudadId) {
		this.ciudadId = ciudadId;
	}

	public void setListaCiudades(List<Ciudad> listaCiudades) {
		this.listaCiudades = listaCiudades;
	}

}